package com.atguigu.realtime.util;

import java.util.concurrent.LinkedBlockingDeque;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;

/**
 * @ClassName: MyThreadPooluUtil
 * @Description:
 * @Author: kele
 * @Date: 2021/4/22 11:06
 **/
public class MyThreadPooluUtil {

    public static ThreadPoolExecutor getPool(){

        /**
         *  参数1：线程池中的线程数，即使空闲
         *  参数2：最大的线程数
         *  参数3：如果线程不够，则最大等待时间
         *  参数4：时间的单位
         *  参数5：队列
         *         --最大的等待数
         */
        ThreadPoolExecutor pool = new ThreadPoolExecutor(
                10,
                100,
                300,
                TimeUnit.SECONDS,
                new LinkedBlockingDeque<>(100)  //等待数

        );

        return pool;

    }

}
